<script setup>
import { artGetChannelsService } from '@/api/article'
import { ref } from 'vue'

defineProps({
  modelValue: {
    type: [Number, String]
  },
  width: {
    type: String
  }
}) // 接收父组件传过来的值

const emit = defineEmits(['update:modelValue'])
// 定义一个修改父组件数据的方法
const channelList = ref([])
const getChannelList = async () => {
  const res = await artGetChannelsService()
  channelList.value = res.data.data
}
getChannelList() //一进页面就加载，获取文章分类列表
</script>

<template>
  <!-- 是v-modul的分开写法 modelValue父组件的数据 
  emit('update:modelValue', $event) 修改父组件数据的方法-->
  <el-select
    :modelValue="modelValue"
    @update:modelValue="emit('update:modelValue', $event)"
    :style="{ width }"
  >
    <!-- 由子组件提供数据渲染下拉框的值 -->
    <el-option
      v-for="channel in channelList"
      :key="channel.id"
      :label="channel.cate_name"
      :value="channel.id"
    ></el-option>
  </el-select>
</template>
